<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <meta charset="UTF-8">
    <title>Aqueduct OpenAPI Client</title>
    <link rel="stylesheet" type="text/css" href="https://unpkg.com/swagger-ui-dist@3.12.1/swagger-ui.css">
</head>

<body>
<div id="swagger-ui"></div>
<script src="https://unpkg.com/swagger-ui-dist@3.12.1/swagger-ui-standalone-preset.js"></script>
<script src="https://unpkg.com/swagger-ui-dist@3.12.1/swagger-ui-bundle.js"></script>
<script>
    window.onload = function() {       
        const ui = SwaggerUIBundle({
            spec: {"openapi":"3.0.0","info":{"title":"aqueduct_chat","description":"An empty Aqueduct application.","version":"0.0.1"},"servers":[{"url":"http://localhost:8888"}],"paths":{"/example":{"parameters":[]},"/files/{path}":{"parameters":[{"name":"path","description":"This path variable may contain slashes '/' and may be empty.","in":"path","required":true,"schema":{"type":"string"}}],"get":{"summary":"Returns the contents of a file on the server's filesystem.","description":"Content-Type is determined by the suffix of the file.","operationId":"getFile","responses":{"200":{"description":"Successful file fetch.","content":{"*/*":{"schema":{"type":"string","format":"binary"}}}},"404":{"description":"No file exists at path."}}}},"/auth/token":{"parameters":[],"post":{"tags":["Auth"],"operationId":"grant","parameters":[],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"required":["grant_type"],"type":"object","properties":{"username":{"type":"string"},"password":{"type":"string","format":"password"},"refresh_token":{"type":"string"},"code":{"type":"string"},"grant_type":{"type":"string"},"scope":{"type":"string"}}}}}},"responses":{"200":{"description":"Successfully exchanged credentials for token","content":{"application/json":{"schema":{"type":"object","properties":{"access_token":{"type":"string"},"token_type":{"type":"string"},"expires_in":{"type":"integer"},"refresh_token":{"type":"string"},"scope":{"type":"string"}}}}}},"400":{"description":"Invalid credentials or missing parameters.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}},"security":[{"oauth2-client-authentication":[]}]}},"/register":{"parameters":[],"post":{"tags":["Register"],"operationId":"createUser","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"responses":{"200":{"description":"Successful response."}}}},"/login":{"parameters":[],"post":{"tags":["Login"],"operationId":"login","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"responses":{"200":{"description":"Successful response."}}}},"/comment":{"parameters":[],"get":{"tags":["Comment"],"operationId":"getAllComment","parameters":[],"responses":{"200":{"description":"Successful response."},"400":{"$ref":"#/components/responses/MalformedAuthorizationHeader"},"401":{"$ref":"#/components/responses/InsufficientAccess"},"403":{"$ref":"#/components/responses/InsufficientScope"}},"security":[{"oauth2":[]}]}},"/friend":{"parameters":[],"get":{"tags":["Friend"],"operationId":"getFriends","parameters":[],"responses":{"200":{"description":"Successful response."},"400":{"$ref":"#/components/responses/MalformedAuthorizationHeader"},"401":{"$ref":"#/components/responses/InsufficientAccess"},"403":{"$ref":"#/components/responses/InsufficientScope"}},"security":[{"oauth2":[]}]}},"/chat_list":{"parameters":[],"get":{"tags":["ChatList"],"operationId":"getFriends","parameters":[],"responses":{"200":{"description":"Successful response."},"400":{"$ref":"#/components/responses/MalformedAuthorizationHeader"},"401":{"$ref":"#/components/responses/InsufficientAccess"},"403":{"$ref":"#/components/responses/InsufficientScope"}},"security":[{"oauth2":[]}]}},"/connect":{"parameters":[]},"/message":{"parameters":[],"get":{"tags":["Message"],"operationId":"getMessage","parameters":[{"name":"fromId","in":"query","required":false,"allowEmptyValue":false,"schema":{"type":"integer"}},{"name":"toId","in":"query","required":false,"allowEmptyValue":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successful response."},"400":{"$ref":"#/components/responses/MalformedAuthorizationHeader"},"401":{"$ref":"#/components/responses/InsufficientAccess"},"403":{"$ref":"#/components/responses/InsufficientScope"}},"security":[{"oauth2":[]}]}},"/message/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"components":{"schemas":{"ManagedAuthClient":{"title":"ManagedAuthClient","type":"object","properties":{"id":{"title":"id","type":"string","description":"This is the primary identifier for this object.\n","nullable":false},"hashedSecret":{"title":"hashedSecret","type":"string","nullable":true},"salt":{"title":"salt","type":"string","nullable":true},"redirectURI":{"title":"redirectURI","type":"string","nullable":true},"allowedScope":{"title":"allowedScope","type":"string","nullable":true},"tokens":{"type":"array","items":{"$ref":"#/components/schemas/ManagedAuthToken"},"nullable":true,"readOnly":true}},"description":""},"ManagedAuthToken":{"title":"ManagedAuthToken","type":"object","properties":{"id":{"title":"id","type":"integer","description":"This is the primary identifier for this object.\n","nullable":false},"code":{"title":"code","type":"string","description":"No two objects may have the same value for this field.\n","nullable":true},"accessToken":{"title":"accessToken","type":"string","description":"No two objects may have the same value for this field.\n","nullable":true},"refreshToken":{"title":"refreshToken","type":"string","description":"No two objects may have the same value for this field.\n","nullable":true},"scope":{"title":"scope","type":"string","nullable":true},"issueDate":{"title":"issueDate","type":"string","format":"date-time","nullable":false},"expirationDate":{"title":"expirationDate","type":"string","format":"date-time","nullable":false},"type":{"title":"type","type":"string","nullable":true},"resourceOwner":{"title":"resourceOwner","type":"object","properties":{"id":{"type":"integer"}}},"client":{"title":"client","type":"object","properties":{"id":{"type":"string"}}}},"description":""},"Message":{"title":"Message","type":"object","properties":{"selfUser":{"title":"selfUser","type":"boolean","nullable":false},"id":{"title":"id","type":"integer","description":"This is the primary identifier for this object.\n","nullable":false},"fromUserId":{"title":"fromUserId","type":"integer","nullable":false},"toUserId":{"title":"toUserId","type":"integer","nullable":false},"content":{"title":"content","type":"string","nullable":false},"type":{"title":"type","type":"integer","nullable":false},"sendTime":{"title":"sendTime","type":"string","format":"date-time","nullable":false}},"description":""},"User":{"title":"User","type":"object","properties":{"password":{"title":"password","type":"string","nullable":false,"writeOnly":true},"id":{"title":"id","type":"integer","description":"This is the primary identifier for this object.\n","nullable":false},"username":{"title":"username","type":"string","description":"No two objects may have the same value for this field.\n","nullable":false},"tokens":{"type":"array","items":{"$ref":"#/components/schemas/ManagedAuthToken"},"nullable":true,"readOnly":true}},"description":""}},"responses":{"InsufficientScope":{"description":"The provided credentials or bearer token have insufficient permission to access this route.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"scope":{"type":"string","description":"The required scope for this operation."}}}}}},"InsufficientAccess":{"description":"The provided credentials or bearer token are not authorized for this request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"MalformedAuthorizationHeader":{"description":"The provided Authorization header was malformed.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}},"parameters":{},"requestBodies":{},"headers":{},"securitySchemes":{"oauth2-client-authentication":{"type":"http","description":"This endpoint requires an OAuth2 Client ID and Secret as the Basic Authentication username and password. If the client ID does not have a secret (public client), the password is the empty string (retain the separating colon, e.g. 'com.aqueduct.app:').","scheme":"basic"},"oauth2":{"type":"oauth2","description":"Standard OAuth 2.0","flows":{"password":{"tokenUrl":"http://localhost:8888/auth/token","refreshUrl":"http://localhost:8888/auth/token","scopes":{}}}}},"callbacks":{}}},
            dom_id: '#swagger-ui',
            deepLinking: true,
            presets: [
                SwaggerUIBundle.presets.apis,
                SwaggerUIStandalonePreset
            ],
            plugins: [
                SwaggerUIBundle.plugins.DownloadUrl
            ],
            layout: "StandaloneLayout",
        })
        window.ui = ui
    }
</script>
</body>

</html>
    